actually, the "game" part of the project is more recent, most of the rest was written over a much longer period of time.
some videos of it are available on my YouTube channel (among other things):
http://www.youtube.com/user/BGBTech
here is a video showing stuff going on:
">
ADD: it may also be downloaded here (if/when server is up):
http://cr88192.dyndns.org:8080/wiki/index.php/BGB_Current_Status
so, general information:
ground-up engine, mostly written in C.
takes some technical inspiration from both Quake and Minecraft (and, to some extent, games like Doom 3);
gameplay tries to follow in a similar style to a mix of Quake and Minecraft;
renderer basically works vaguely similarly (in concept) to the Doom3 renderer (it uses dynamic lighting and depth-pass stencil shadows).
most of the high-level entities work similarly to those in Quake (most have similar or matching classnames, and typically use the same basic key/value pairs).
however, currently, I am using a voxel-based world-structure, more like Minecraft (errm, and many similar blocks with similar names and appearacnes exist), though there are some more block-related features, and some differences. granted, the number of block-related features and interactions isn't nearly as extensive as in Minecraft at present.
it also supports Quake-like brush-based worlds as well, and on/off I had worked to better unify voxel-based and brush-based world-structure (the idea being that each "region" could have its own local BSP for the brush-geometry, rather than a single unified BSP). note that like with voxels (and unlike Quake and friends) the BSP is rebuilt dynamically. technically, bezier-patches and mesh-objects are also supported. the main drawback is that these can't really be as effectively integrated into gameplay nearly as well as breaking and placing blocks can.
it uses a custom scripting language (BGBScript), which is roughly in a similar style to JavaScript and ActionScript3 (and by uses similar syntax, but can also use more traditional C/Java/C# style decalration syntax), but incorporates elements of Java, C#, C, and C++. it supports both static (manifest) typing and dynamic typing, as well as both class/instance and prototype OO styles.
dynamic features, like ability to load code directly from source code, compile/execute code via "eval()", ... are also available.
design is mostly just being a "grab bag" of whatever features I liked or found useful from the other languages, so it also has things like structs and (bounded) pointers (they resemble C-style pointers, but are boxed, and often use bounds-checking). many other design choices were made on a "most common option" basis (where the option with the more languages that use it wins).
the VM is also smart enough (and capable of parsing C headers), such that it automatically generates any glue needed to call between the scripting language and C land (though a special tool is still needed to allow C->script calls absent using API calls or function-pointers or similar). also, script code and VM metadata can be (and often is) packaged up inside of DLL or SO files (both PE/COFF and ELF are supported), ...
there are a lot of special features as well, such as vector and quaternion types being promoted to built-in types, ...
...
gameplay concepts:
player runs around and shoots stuff (optional, there is a "peaceful" skill level where only passive AI-entities spawn);
enemies may drop stuff when killed (weapons and items);
player can also break and place blocks and build stuff;
the available weapons (and weapon numberings) are partly inspired by those in Doom 1/2;
...
currently, no higher-level goals or obectives exist.
general game concept:
on a distant colony in space, mysterious aliens have invaded with armies of mass-produced bio-mechanical robots.
the player is (or at least thinks he is) a human bio-mechanically augmented cyborg (the augments are both biological and mechanical).
mostly, the human colonists were turning themselves into cyborgs to better combat the invading alien robots.
well, there is more plot and backstory than this, but I may need some sort of mechanism to reveal plot and backstory in game.
could always make plot-fragments be rarely dropped items, but would probably need a UI for them or something.
or such...